// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
//网络请求包axios（需npm安装）
const axios = require('axios')

// 云函数入口函数
exports.main = async (event, context) => {
  const {lat,lng} = event
  const key = 'H4QBZ-CCGCB-VNEU4-J6VOM-5RFTE-U4BJN'//腾讯地图key

  //验证坐标
  if(!lat||!lng){
    return{
      errCode:400,
      errMsg:'缺少经纬度'
    }
  }
  
  try {
    const response = await axios.get(
      `https://apis.map.qq.com/ws/geocoder/v1/?location=${lat},${lng}&key=${key}`,
      {timeout:3000} //3秒超时
    )

    //检查返回状态
    if(response.data.status !== 0){
      return{
        errCode:500,
        errMsg:response.data.message || '腾讯地图API返回错误'
      }
    }

    // 返回结构化数据
    return {
      errCode: 0,
      data: {
        province: response.data.result.address_component.province
      }
    }
  } catch (error) {
    //错误处理
    console.log('逆地理编码失败',error);
    return{
      errCode:500,
      errMsg:error.message.includes('timeout')?'请求超时':'服务器错误'
    }
  }
}